#!/bin/bash

# 更新系统包列表并升级系统
sudo apt update && sudo apt upgrade -y

# 安装必要的依赖包
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

# 移除旧版本的 Docker（如果存在）
sudo apt remove -y docker docker-engine docker.io containerd runc

# 添加 Docker 官方的 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 设置稳定版的 Docker 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 更新包列表
sudo apt update

# 安装最新版本的 Docker Engine 和 Docker Compose
sudo apt install -y docker-ce docker-ce-cli containerd.io

# 启动 Docker 并设置为开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 配置 Docker 镜像加速器（阿里云示例）
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
  "registry-mirrors": ["https://registry.aliyuncs.com"]
}
EOF

# 重启 Docker 以应用配置
sudo systemctl daemon-reload
sudo systemctl restart docker

# 安装 Docker Compose（如果未通过 apt 安装）
if ! command -v docker-compose &> /dev/null
then
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
fi

# 创建青龙面板目录
mkdir -p $HOME/qinglong
cd $HOME/qinglong

# 创建 docker-compose.yml 文件
cat <<EOF > docker-compose.yml
version: '3.8'
services:
  qinglong:
    image: whyour/qinglong:latest
    container_name: qinglong
    restart: unless-stopped
    ports:
      - "5700:5700"
    volumes:
      - ./ql/config:/ql/config
      - ./ql/log:/ql/log
      - ./ql/db:/ql/db
EOF

# 启动青龙面板
sudo docker-compose up -d

# 检查容器状态
sudo docker ps

echo "青龙面板已安装并启动，可以通过 http://<你的服务器IP>:5700 访问面板。"
